<template>
  <div>{{name}} {{job.type}}</div>
  <button @click="sayName">变更信息</button>
</template>

<script>
import { ref,reactive  } from "vue";
export default {
  name: 'App',

  setup(){
    // 基本数据类型
    let name = ref('张三三')
    // 引用数据类型（本质也是使用了proxy实例对象）
    let job = ref(
      {
        type: "前端工程师",
        salary: "30K",
      }
    )
    function sayName() {
      // 更改基本数据类型
      name.value = '李四'
      // 更改引用数据类型
      job.value.type = "UI设计师"
      console.log(name,job) // RefImpl的实例对象，RefImpl类中有getter和setter可以检测到数据的变化
      console.log(this) // proxy  内部使用了 Vue3.0 中的一个新函数—— reactive函数。
    }

    return {name,sayName,job}
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>
